/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package pt.iasd.youthshelter.datamodel.service;

import java.util.List;
import pt.iasd.youthshelter.datacore.controller.exceptions.NonexistentEntityException;
import pt.iasd.youthshelter.datacore.controller.exceptions.PreexistingEntityException;
import pt.iasd.youthshelter.datamodel.Activity;
import pt.iasd.youthshelter.datamodel.ActivityParticipation;
import pt.iasd.youthshelter.datamodel.ActivityParticipationPK;

/**
 *
 * @author Rui
 */
public interface ActivityParticipationController {

    void create(ActivityParticipation activityParticipation) throws PreexistingEntityException, Exception;

    void destroy(ActivityParticipationPK id) throws NonexistentEntityException;
    
    int destroyAll(Activity activity);

    void edit(ActivityParticipation activityParticipation) throws NonexistentEntityException, Exception;

    ActivityParticipation findActivityParticipation(ActivityParticipationPK id);

    List<ActivityParticipation> findActivityParticipationEntities();

    List<ActivityParticipation> findActivityParticipationEntities(int maxResults, int firstResult);

    int getActivityParticipationCount();
    
}
